<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

require_once './application/third_party/aliyunsms/mns-autoloader.php';

class mailer extends CI_Controller
{

    public function init($to,$formName,$title,$content)
    {
        require_once('./application/third_party/phpMailer/class.phpmailer.php');
        require_once('./application/third_party/phpMailer/class.smtp.php');

        //实例化PHPMailer核心类
        $mail = new PHPMailer(true);

        $mail->SMTPDebug = 1;

        //使用smtp鉴权方式发送邮件
        $mail->isSMTP();

        //smtp需要鉴权 这个必须是true
        $mail->SMTPAuth = true;

        //链接qq域名邮箱的服务器地址
//        $mail->Host = 'smtp.qq.com';
        $mail->Host = 'smtp.mxhichina.com';

        //设置使用ssl加密方式登录鉴权
        $mail->SMTPSecure = 'ssl';

        //设置ssl连接smtp服务器的远程服务器端口号，以前的默认是25，但是现在新的好像已经不可用了 可选465或587
        $mail->Port = 465;

        //设置smtp的helo消息头 这个可有可无 内容任意
//        $mail->Helo = 'Hello smtp.qq.com Server';

        //设置发件人的主机域 可有可无 默认为localhost 内容任意，建议使用你的域名
        $mail->Hostname = 'http://www.zjist.com';

        //设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码
        $mail->CharSet = 'UTF-8';

        //设置发件人姓名（昵称） 任意内容，显示在收件人邮件的发件人邮箱地址前的发件人姓名
        $mail->FromName = '孙淑恒';

        //smtp登录的账号 这里填入字符串格式的qq号即可
        $mail->Username = 'sunshuheng@zjist.com';

        //smtp登录的密码 使用生成的授权码（就刚才叫你保存的最新的授权码）
        $mail->Password = 'NIdaye123..';

        //设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”
        $mail->From = 'sunshuheng@zjist.com';

        //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
        $mail->isHTML(true);

        //设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大
        $mail->addAddress($to,$formName);

        //添加多个收件人 则多次调用方法即可
        // $mail->addAddress('xxx@163.com','lsgo在线通知');

        //添加该邮件的主题
        $mail->Subject = $title;

        //添加邮件正文 上方将isHTML设置成了true，则可以是完整的html字符串 如：使用file_get_contents函数读取本地的html文件
        $mail->Body = $content;


        //为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录（相对目录、或绝对目录均可） 第二参数为在邮件附件中该附件的名称
        // $mail->addAttachment('./d.jpg','mm.jpg');
        //同样该方法可以多次调用 上传多个附件
        // $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');

        $status =$mail->send();
        return $status;

    }


    public function send(){

//        print_r($_FILES);
//        die;


//        $fileName =

        // 加载上传库
        $this->load->library('upload', __upload('caiwu', 'caiwu'));
        $upload = 'upload';
        $filePath = 'upload/caiwu';

        if (!is_dir($upload)) {
            mkdir($upload);
        } else {
            if (!is_dir($filePath)) {
                mkdir($filePath);
            }
        }


        // 上传文件，这里的pic是视图中file控件的name属性
        if ($this->upload->do_upload('file')) {
            $ResultConfirm = $this->upload->data();
            //报价确认单的地址
            $fileName = '/upload/caiwu/' . $ResultConfirm['file_name'];
        } else {
            $error = array('error' => $this->upload->display_errors());

            print_r($error);
        }

        // $fileName = 'E:\code\work\procurement'.$fileName;
        $fileName = 'C:\phpStudy\WWW'.$fileName;




        $this->load->library('Excels');
//
        $data  = $this->excels->put($fileName);

        echo '<pre>';
//        print_r($data);
//        die();
        unset($data[1]);
        sort($data);
        foreach ($data as $k=>$v){

            $a[] = [
                'to' => end($v),
                'formName' => $v[0],
//                date("n", strtotime("-1 month"))
                'title' => date("n", strtotime("-1 month")).'月份爱思特科技工资条',
                'content' =>  $v,
            ];

        }

        foreach ($a as $k2=>$v2){
//            foreach ($v2['content'] as $k3=>$v3){
////                $str = '<li>'.$v2['content'][$k3].'</li>';
//                $str = '<li>'.$v3.'</li>';
//
//                @$a[$k3]['content'] .= '<ul>'.$str.'</ul>';
//            }

            $r = [
                '名字',
                '级别',
                '基本工资',
                '岗位工资',
                '通讯费',
                '住房补贴',
                '交通费',
                '其它补贴',
                '绩效工资',
                '全勤奖',
                '扣社保',
                '扣个税',
                '其他扣款',
                '实发',
                '邮箱',
            ];

            $srr = [];
            for ($k=0;$k<count($r);$k++){
                @$srr .= '<th>'.$r[$k].'</th>';  //tr
            }

            $str = [];
            for ($i=0; $i < count($v2['content']); $i++ ){

                @$str .= '<td>'.$v2['content'][$i].'</td>'; //td
//
//
//                echo '<table>';
//                echo '<thead>'.$srr.'</thead>';
//                @$a[$k2]['content'] .= '<tr>'.$str.'</tr>';
//
//
//                echo '</table>';

                @$a[$k2]['content'] = '<table border="1" cellspacing="0"><thead><tr>'.$srr.'</tr><thead><tbody><tr>'.$str.'</tr></tbody></table>';

                @$a[$k2]['content']  = str_replace('Array','',$a[$k2]['content']);


            }

        }

//        print_r($a);
//        die;


//        $this->init('525204122@qq.com',12312312312,41564848);
//        die;

//        echo '<pre>';
//        print_r($a);
//        die;

//        $a = [
//            0=> [
//                'to' => 'wanghuxiao@zjist.com',
//                'title' => '工资条',
//                'content' => '你有个毛线'
//            ],
//            1=> [
//                'to' => 'zhengyunlei@zjist.com',
//                'title' => '工资条',
//                'content' => '再给你一毛吧'
//            ],
//            2=> [
//                'to' => 'wangxiafeng@zjist.com',
//                'title' => '工资条',
//                'content' => '你有个毛线'
//            ],

//            3 => [
//                'to' => '525204122@qq.com',
//                'title' => '工资条',
//                'content' => '你有个毛线'
//            ],
//
//        ];

        foreach ($a as $v2){
            __logInfo('to',$v2['to']);
            $starttime = explode(' ',microtime());  //开始时间

            /*········以下是代码区·········*/
            $this->init($v2['to'],$v2['formName'],$v2['title'],$v2['content']);
            /*········以上是代码区·········*/

            $endtime = explode(' ',microtime());
            $thistime = $endtime[0]+$endtime[1]-($starttime[0]+$starttime[1]);
            $thistime = round($thistime,3);
            echo "邮件发送耗时：".$thistime." 秒。".time();

        }

//        echo '<pre>';
//        print_r($data);
//        die;





    }

}

/* End of file mailer.php */